Automate version stabilization: dynamically compute package versions for Helix testing#15681
Draft
joperezr wants to merge 1 commit intomicrosoft:mainfrom
Draft
Automate version stabilization: dynamically compute package versions for Helix testing#15681joperezr wants to merge 1 commit intomicrosoft:mainfrom
joperezr wants to merge 1 commit intomicrosoft:mainfrom
Conversation
…SDK version references
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 15681Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 15681" |
Member
Author
|
@radical I'm running a couple of internal builds with Helix test runs to validate that these changes work as expected. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Automates version stabilization by dynamically computing package versions instead of hardcoding them during release stabilization.
Problem: When stabilizing builds (
StabilizePackageVersion=true), we had to manually hardcode versions inDirectory.Packages.Helix.props(~80 package entries), hardcode the SDK version inAspire.RepoTesting.targets, and remove PR version suffixes from CI — a fragile, error-prone process repeated every release.Solution: Added a
ReturnPackageVersionMSBuild target tosrc/Directory.Build.targetsthat returns each project's computedPackageId+PackageVersion(respectingSuppressFinalPackageVersion,StabilizePackageVersion, etc.). Extended_GeneratePackagesVersionsPropsinAspire.RepoTesting.targetsto call this target on all packablesrc/projects and write per-package versions into the generatedDirectory.Packages.Versions.props. SimplifiedDirectory.Packages.Helix.propsfrom ~86 lines of hardcoded versions to a ~15-line shell that imports the generated file.Key changes:
src/Directory.Build.targets— AddedReturnPackageVersiontargettests/Shared/RepoTesting/Aspire.RepoTesting.targets— Extended version generation to include Aspire packages; SDK imports now use$(AspireAppHostSdkVersion)from the generated filetests/Shared/RepoTesting/Directory.Packages.Helix.props— Replaced hardcoded versions with minimal shellVerified: Stabilized builds correctly produce mixed versions — regular packages get
13.3.0whileSuppressFinalPackageVersionpackages (Docker, Keycloak, Milvus, etc.) retain preview versions.Fixes #15335
Checklist
<remarks />and<code />elements on your triple slash comments?aspire.devissue: